
const path = require('path');
function resolve (dir) {
  //此处使用path.resolve 或path.join 可自行调整
  return path.join(__dirname, dir)
}

module.exports = {
  /* 部署应用包的基本URL */
  /* baseUrl 从 Vue CLI 3.3 起已弃用 ，请使用publicPath */
  publicPath: process.env.NODE_ENV === "production" ? "./" : "./",
  /* 生产环境构建文件的目录 defalut: dist */
  outputDir: "dist",
  /* 放置生成的静态文件目录（js css img） */

  assetsDir: "static",

  /* 指定生成的index.html 输出路径 相对 default: index.html */

  indexPath: "index.html",

  /* 指定生成文件名中包含hash default: true */

  filenameHashing: true,

  /* 是否保存时 lint 代码 */

  lintOnSave: process.env.NODE_ENV === "production",

  /* 是否使用编译器 default: false */

  runtimeCompiler: false,

  /* 默认babel-loader会忽略node_modules中的文件，你想显示的话在这个选项中列出来 */

  // transpileDependencies: [],

  /* 生产环境的source map */

  productionSourceMap: true,

  // crossorigin: "",
  integrity: false,
  chainWebpack: config => {
    config.resolve.alias
      // key,value自行定义，比如.set('@assets', resolve('src/assets'))
	    .set("vue$",'vue/dist/vue.esm.js')
      .set('@',resolve('src'))
      .set('assets',resolve('src/assets'))
      .set('components',resolve('src/components'))
      .set('views',resolve('src/views'))
      .set('utils',resolve('src/utils'));
	  
	  const svgRule = config.module.rule("svg");     		svgRule.uses.clear();     		svgRule       		  .use("svg-sprite-loader")       		  .loader("svg-sprite-loader")       		  .options({         		    symbolId: "icon-[name]",         		    include: ["./src/icons"]       		  });
  },
  // css相关配置

  css: {
    // 是否使用css分离插件 ExtractTextPlugin

    extract: true,

    // 开启 CSS source maps?

    sourceMap: false,

    // css预设器配置项

    loaderOptions: {
      // 配置全局样式
      sass: {
        prependData: `@import "./src/styles/main.scss";`
      }
    },

    // 启用 CSS modules for all css / pre-processor files.

    modules: false
  },

  devServer: {
    open: false, // 编译完成是否打开网页
    host: '0.0.0.0', // 指定使用地址，默认localhost,0.0.0.0代表可以被外界访问
    port: 8080, // 访问端口
    https: false, // 编译失败时刷新页面
    hot: true, // 开启热加载
    hotOnly: false,
    proxy: {
      "/devApi": {
          target: "http://www.web-jshtml.cn/productapi/token", //API服务器的地址
          changeOrigin: true,
          pathRewrite: {
              "^/devApi": ''
          }
      }
    }
  }
};
